Production of glide and portamento in an electronic musical instrument

ABSTRACT

The apparatus produces glide and portamento in an electronic musical instrument in which the generated tone is proportional to a current frequency number. A time varying fractional frequency number is established that increases or decreases in value during glide or portamento production. The current frequency number is modified by increments that correspond to the fractional frequency number values, so that the generated tone glides to the nominal pitch, or so that during portamento the generated tone slides from the pitch of the note previously produced to the nominal frequency of the new note.

United States Patent 11 1 1 1 3,929,053

Deutsch Dec. 30, 1975 [54] PR D CTI N on gum: AND 3,809,792 5 1974 Deutsch 84 1.24 PORTAMENTO IN AN ELECTRONIC W n 8 9 omlsawa et a MUSICAL INSTRUMENT 3,823,390 7/1974 Tomisawa et al... 84/].01 X [75] Inventor: Ralph Deutsch, Sherman Oaks, 3,831,015 8/1974 Hoff, .lr 84/l.0l X Calif, 3,844,379 10/1974 Tomisawa et al 84/101 [73] Assignee: Nippon Gakki Seizo Kabushiki OTHER PUBLICATIONS Kaishav Hamamatsu Japan Ralph W. Burhans, Digital Tone Synthesis, Journal 22 Filed; AP 29, 1974 of the Audio Engineering Society, Vol. 19, N0. 8, A l N 464 936 Sept. 1971, pp. 660-663.

Primary ExaminerStephen J. Tomsky [52] U.S. Cl. 84/l.24 Assistant Examinerstanley Witkowski [51] Int. Cl. GlOH 1/02; G10H 5/00 Attorney, g or FirmHward A. Silber [58] Field of Search 84/l.0l, 1.03, 1.24, 1.25

' [57] ABSTRACT [56] References Cited The apparatus produces glide and portamento in an UNITED STATES PATENTS .electronic musical instrument in which the generated 3,515,792 6/1970 Deutsch 84/1.03 tone is proportional to a current frequency number. A 3.610.799 10/1971 watsonu- 84/101 time varying fractional frequency number is estabx 84/101 X lished that increases or decreases in value during glide 3743755 zgg or portamento production. The current frequency 3:755:608 8/1973 Deutsch II::.................:::.: 84/li01 "umber mdified by increments that correspond 3,757,022 9/1973 Markowitz 84/125 the fractlcmal frequency umber Values, that the 34/103 X generated tone glides to the nominal pitch, or so that 34/124 during portamento the generated tone slides from the 84/1.01 pitch of the note previously produced to the nominal frequency of the new note.

3,763,364 /1973 Deutsch et al.... 3,794,748 2/1974 Deutsch 3,809,786 5/1974 Deutsch..... 3,809,788 5/1974 Deutsch 3,809,789 5 1974 Deutsch 84/1.0l 3,809,790 5 1974 Deutsch 84/l.0l 10 ClaImS, 5 Drawing Flgures lining, m)

AGCUMULAYOQ nawnu TD flMl-ITUDI I m 52 4...

a? CGNvIITI-I 37 1 MI-ncnv In.

COUNTER ,2

t2 an e u,

1.46 may L ("Q 1 A.M\ NV'Ilvlu. LIA- w AUDIII m Am... 2 DILAY a4 CONTROL t,

I87 2 254" 3.5 l 'nnqulucv NUMBER 6 1 1 ITAI'T nun:

1"11 bNIF 12mm: I 1 I [24 c, on 5,,

one-sum INSTRUMENT KGYBO'AIID SWITCHS US. Patent Dec. 30, 1975 Sheet1of5 3,929,053

llO

NUMBER OF POSITIONS THAT 2 1S RIGHT SHIT-TED 25 .L/i n GLIDE CLOCK EITAQT GLIDE TIME US. Patent Dec. 30, 1975 Sheet 2 of5 3,929,053

US. Patent Dec.30, 1975 Sheet4of5 3,929,053

- INSTRUMENT KEYBOARD I I swn-cl-uas -12 (CI) o o a (B7) 1 1 y FREQUENCY 1 NUMBER MEMORY 7 W 83 V [85 mvms BY K 56 ad (New) RKURRENT) 88 porzrniqsN-ro cLqcK 82 ACCUMULATOR CARRY \N 8! 80 QQLURRENT) To TONE. GENERATOR US. Patent Dec. 30, 1975 Sheet 5 of 5 INSTRUMENT KEYBQ QD SWTCHES FREQUEN CY M EMORY IJ/ ONE-SHOT I NUMBER R (New) STORQGE REGISTER LOAD R C PREVIOUS) 5U 31' R ACT (PREWOUS) PORTAMENTO IUI SIGN

DlVlDE BY 14 CLQCK ACC U M U LHTOR EAR LEAR ADDER PG: 2 (CURRENT)L R (PREVIOUS) *2 A [2 FLIP FLOP PC.) QOeEw) COM PARATOR ONE- SHOT 12: I

To TONE GENERATOR I5 PRODUCTION OF GLIDE AND PORTAMENTO IN AN ELECTRONIC MUSICAL INSTRUMENT.

BACKGROUND OF THE INVENTION 1. Field of the Invention I The present invention relates to the production of glide and portamento effects in an electronic musical instrument.

2. Description of the Prior Art In most musical instruments, as each note is played, tone production begins immediately at the nominal frequency of that note, possibly with gradually increasing amplitude during the initial, attack period. Certain electronic organs have a glide option in which the tone starts low in pitch, then gradually glides up to the nominal frequency.

Typically the glide is controlled by a toe switch mounted on the swell shoe, or by a switch responsive to rotation of the shoe itself. To produce a'glide effect, the musician must coordinate foot operation of the glide switch with playing of the manual keys. Considerable dexterity is required. To eliminate this difficulty, it is one object of the present invention to provide a system wherein a glide effect is produced automatically upon keyboard selection of a note in an electronic musical instrument. There is no separate glideswitch to be operated, so that the instrument may be played in normal manner.

In the usual glide effect, the note initially is sounded a whole tone, or possibly a semi-tone below the nominal pitch. The frequency gradually rises until it corresponds to the note actuated on the instrument keyboard. Alternatively, the note may begin at a frequency that is above the nominal pitch, and gradually decrease to the true frequency. In a slalom glide, the sound begins low in pitch, gradually rises in frequency past the nominal pitch, then finally decreases to the true pitch of the selected note. Another object of the'present invention is to implement both glide up, glide down and slalom glide effects in an electronic musical instrument.

A few instruments, notably the trombone, can produce a portamento effect in which the generated frequency does not change abruptly from one note to the next, but rather glides through all of the intermediate tones. A further object of the present invention is to implement such portamento effects in an electronic musical instrument.

SUMMARY OF THE INVENTION These and other objectives are achieved in an electronic musical instrument of the type wherein the fundamental frequency of the generated note is estab- 1 lished by a number that is proportional to the note frequency. By way of example, the invention is described herein in conjunction with a computor organ of the type disclosed in the inventor's copending U.S. patent application, Ser. No. 225,883, filed Feb. 14, I972 now U.S. Pat. No. 3,809,786. In such a computor organ, the pitch of the generated sound is established by a frequency number R that controls the separation between successive sample points at which the amplitude of a musical waveshape is computed. However, the present invention is by no means solimited. The invention also may be utilized with other types of electronic tone generators in which the produced frequency is controlled by a value R proportional to that 2 frequency. Thus the following description is equally applicable to such other systems, with a direct substitutionof the frequency proportional value R for the frequency number R.

A glide effect is produced by modifying the frequency number at the beginning of tone production. This advantageously is achieved by subtracting from or adding to theselected number R a rational fraction S of that number which decreases with time. The graph of FIG. 1 illustrates the frequency deviation in cents achieved by such a system wherein the time-variant rational fraction is:

s= (Eq. 1

where m is an integer incremented at regular time intervals. In a binary implementation, the value S readily is computed by rightshifting the number R in a shift register. This is the equivalent of dividing R by 2", where m designates how many positions R has been right-shifted.

A new frequency number R is obtained by subtracting the fraction S from the selected frequency number R. Thus:

If this value R is provided to the tone generator, the tone that is produced will be offset from the nominal frequency of the selected note. The deviation C of the generated frequency may be calculated from the expression? R! C= C log R- (Eq. 3)

where C is a constant given by:

c,. 1200/1o ..,2 3986.3 (Eq. 4

Equations 2 and 3 are, combined to obtain:

C=C log 1 7,- (Eq. 5)

which indicates that the obtained frequency deviation C in cents is independent of the value of the frequency number R. That is, the frequency deviation C in cents will be the same regardless of what note is played. There are 1200 cents to the octave; so that adjacent whole tones are separated by cents, while 50 cents represents a semi-tone. Thus the glide illustrated by the graph of FIG. 1 begins slightly more than a full tone away from the nominal frequency. Such a deviation (of 111.55 cents) is obtained for the value m=4.

To obtain the glide illustrated in FIG. 1, the rational fraction S (see equation 1) is calculated for values m=4,5,6, at successive time intervals. Thus the corresponding frequency number R (see equation 2) gradually will approach the frequency number R for the selected note. The frequency deviation C at each step of the glide will have the values set forth in Table I below, calculated from equation 5.

To implement such glide at the start of note production, the frequency number R associated with the selected note is right shifted by m4 positions. The resultant value is subtracted from the value R, and the difference R is supplied to the tone generator.

At successive glide timing intervals established by a glide clock, the value R is further right-shifted. In effect, the value is incremented at each clock time. As a result, the values R supplied to the tone generator gradually will approach the frequency number R. The produced tone will exhibit a glide having the frequency deviation characteristics of FIG. 1. If the rational fraction S (see equation 1) is added to the frequency number rather than subtracted from it, the resultant glide will start at a frequency higher than the selected note, and glide down to that note with a like frequency deviation curve.

To achieve portamento effects, fractional increments are algebraically added to the frequency number of the note previously played, during the portamento interval. The rate at which such increments are added is established by a glide clock. Eventually, the accumulated sum of the previous frequency number and the added increments will equal the frequency number of the newly selected note. Thereafter, tone production will continue at the true pitch of the new note.

In one embodiment, each increment added to the frequency number during portamento production is equal to a constant fraction of the frequency number currently being provided to the tone generator. In this embodiment, the portamento time taken to glide from one note to the next will depend on the separation between those notes.

In another embodiment, each increment added to the frequency number during portamento production is equal to a constant fraction of the difference between the frequency numbers associated with the previous and new notes. In this system, the time taken to glide from one note to the next will be the same regardless of what notes are selected.

BRIEF DESCRIPTION OF THE DRAWINGS A detailed description of the inyention will be made with reference to the accompanying drawings, wherein like numerals designate corresponding parts in the several figures.

FIG. 1 is a graph showing the frequency deviation as a function of time for a glide effect produced by the apparatus of FIG. 2.

FIG. 2 is an electrical block diagram of a computor organ configured to produce a glide effect.

FIG. 3 is an electrical block diagram of circuitry for producing a slalom glide in conjunction with an electronic musical instrument.

FIG. 4 is an electrical block diagram of a system for implementing portamento in an electronic musical instrument.

FIG. 5 is an electrical block diagram of an alternative system for producing portamento, wherein the frequency number is incremented in steps each equal to a fraction of the difference between the old and new frequency numbers.

DESCRIPTION OF THE PREFERRED EMBODIMENTS The following detailed description is of the best presently contemplated modes of carrying out the invention. This description is not to be taken in a limiting sense, but is made merely for the purpose of illustrating the general principles of the invention since the scope ofthe invention best is defined by the appended claims.

Operational characteristics attributed to forms of the invention first described also shall be attributed to forms later described, unless such characteristics obviously are inapplicable or unless specific exception is made.

The musical instrument 10 of FIG. 2 produces via a sound system 11 musical tones which automatically glide to the nominal frequency of the selected note. Thus each time one of the keyboard switches 12 is depressed, a sound that is approximately a whole tone lower than the selected note initially is produced. Then, at intervals established by a glide clock 13, the produced tone increases in frequency to the desired value. The frequency deviation during this glide interval is as illustrated in FIG. 1. In an alternative embodiment discussed below, the glide may start at a frequency above the desired nominal value and glide down to that tone. Frequency deviation characteristics other than those illustrated in FIG. 1 also can be produced.

The fundamental frequency of the tone produced by the instrument 10 is established by a current frequency number R supplied via a line 14 to the tone generation portion 15 of the computor organ. During glide production, the value R (see equation 2) is supplied as the current frequency number. The value m is incremented at time intervals established by the glide clock 13. After completion of the glide, the frequency number R associated with the note is supplied as the current frequency number.

A frequency number memory 17 stores a set of R values associated with the fundamental frequencies of the notes selectable by the switches 12. When any note is played, closure of the corresponding keyboard switch 12 causes the corresponding frequency number R to be supplied from the memory 17 to a line 18. The switch signal also is provided via an OR gate 19 to a one-shot multivibrator 20 that produces on a line 21 a start glide" pulse 22 (FIG. 1).

Occurrence of the start glide" pulse 22 causes the selected frequency number R to be loaded into a shift register 23 at a position which initially is shifted four bits to the right. That is, the most significant bit of the frequency number R is not loaded into the most significant, left-most storage position 23-1 of the shift register 23, but rather is entered into the fifth register position 23-5. As a result, the value initially present on th output line 24 from the shift register 23 is where m=4,5,6, and m is incremented at each successive timing pulse from the clock 13.

The rational fraction S on the line 24 is subtracted from the frequency number R present on the.line 18. This is accomplished by adding the twos complement of S, obtained by a complement circuit 27, to the value R in an adder 28. The signal S on the line 24 is supplied to the complement circuit 27 via a switch 30 that is set to the position 30a when the glide is to begin below the nominal frequency of the selected note. The output of the adder 28 is the frequency number R R-S defined by equation 2 above. 1

During successive time intervals established by the glide clock 13, the value R will approach the frequency number R supplied from the memory 17. The values will be equal when the most significant bit of the frequency number R has been shifted out of the lowest significant position 23-p of the register 23, so that the entire shift register 23 contains only binary zeros. Thereafter, the value S will be zero, so that R R; a nominal pitch tone will result.

To produce a glide which begins above the nominal frequency of the selected note, the rational fraction S is added to the frequency number R. This can be accomplished by transferring the switch 30 to the position 30b so as to connect the line 24 directly to theinput of adder 28. v

The glide need not start a'whole tone aboveor below the selected note. Thus by initially loading the value R into a different position of the shift register 23, a different initial frequency offset is obtained. For example, if the most significant bit of the frequency number R is entered into the shift register position 23-6, so that initially m=5, the glide will start approximately a semitone away from thedesired note.

Although a shift register is used in the embodiment of FIG. 2 to obtain the rational fraction of the frequency number R, the invention is not so limited. Thus the shift register 23 may be replaced by a divider circuit that divides R by a value-k(t) which is a function of time as established by the glide clock 13. In such case, the value provided on the line 24 will be 6 By appropriately programming thetime dependence of the value k'(t), any desired glide characteristic may be obtained.

a The glide implementation just described may be utilized with any-electronic musical instrument wherein the fundamental frequency of the generated tone is established by a number proportional to that frequency. The tone generator 15 (FIG. 2) is such a system. Its operationis disclosed in the inventors US. Pat. No. 3,809,786 entitled COMPUTOR ORGAN, and is summarized here to the extent necessary to understand how it functions with the inventive glide and portamento system.

In the tone generator 15, musicaLnotes are produced by computing in real time the amplitudes X,,(qR) at successive sample points qR of a musical waveshape, and converting these amplitudes to notes as the computations are carried out. Each sample point amplitude is computed during a regualr time interval t, according to the relationship:

which q is an integer incremented each time interval t the value n=l,2,3, W represents the order of the Fourier component F being evaluated,C, is coefficient establishing the relative amplitude of the n'" component and R is the frequency number discussed above, which establishes the period or fundamental frequency of the generated waveshape. The number W of Fourier components included in each waveshape amplitude computation is a design choice. However, W=l6 components is adequate for good synthesis of organ tones.

In the computor organ 15 (FIG. 2) the individual Fourier components F are individually evaluated during successive calculation time intervals r through t established by a clock 31 and a counter 32. The Fourier components are. summed in an accumulator 33. Thus at the end of each computation time interval t,, the contents of the accumulator 33 represents the waveshape amplitude X,,(qR) for the current sample point qR.

A computation interval t timing pulse is provided on a line 34 by slightly delaying the last calculation interval pulse t in a'delay circuit 35. Occurrence of the 2, pulse transfers the contents of the accumulator 33 via a gate 36 to a digital to analog converter 37. The accu' mulator 33 then is cleared-in preparation for summing of the Fourier'compone'nts associated with the next sample point, computation of which components begins immediately. v.

The digital to analog converter 37 supplies to the sound system 11 a voltage corresponding to the waveshape amplitude just computed. Since thesecomputations are carried out in real time, the analog voltage supplied from the converter 16' comprises a musical waveshape having a fundamental frequency established by the current frequency number Rwumm) then being supplied via the line 14.

At the beginning of each computation interval t the frequency number R is supplied via a gate 38 and added to the previous contents of a noteinterval adder Preferably the note interval adder 39 is'of modulo 2W, where W is the highest order Fourier component evaluated by the system 15.

Each of the calculation timing pulses t through 2 is supplied via an OR gate 42to a gate 43. This gate 43 provides the value qR to a harmonic interval adder 44 which is cleared at the ,end of each amplitude computation interval t,,. Thus the contents of the harmonic interval adder 44 is incremented by. the value (qR) at each calculation interval t through 1, so that the contents of the adder 44 represents the quantity (nqR). This value is available on a line 45.: I

An address decoder 46 accesses from a sinusoid table 47 the value sin corresponding to the argument nqR received via the line 45. The sinusoid table 47 may comprisea read only memory storing values of at intervals of D, where D is called the resolution constant of the memory. With this arrangement, the value 1r Slll qR will be supplied on a line 48 during the first calculation interval t During the next interval r the value n v sm WQqR will be present on the line 48. Thus in general the value will be provided from the sinusoid table 47 for the particular n' order componentspecified by the timing interval output from the counter 32.

A set of harmonic coefficients C, is stored in a'harmonic coefficient memory 49. As each sinusoid value is supplied on the line 48, the harmonic coefficient C, for the corresponding n" order component is accessed from the memory 49 by a memory address control circuit 50 which receives the calculation timing pulses r through t The sin value from the line 48 is multiplied by the accessed coefficient C, in a harmonic amplitude multiplier 51. The product, corresponding to the value of the Fourier component F presently being evaluated, is supplied via a line 52 to the accumulator 33. In this manner, consecutive sets of Fourier components are evaluated duringconsecutive computation intervals t Accumulation of these components, and conversion to an analog waveshape by the converter 37 results in the desired tone production. 9

The frequency numbers R stored in the memory 17 are related to the nominal fundamental frequencies of the musical notes produced by the computor organ 15, to the computation time interval t and to the number of amplitude sample points N for the note of highest fundamental frequency f produced by the organ. For example, if the frequency number R for such note of highest frequency is selected as unity, then with a computation time interval t given by exactly N sample point amplitudes will be computed for that note.

The values R for notes of lower frequency readily can be ascertained, knowing that the frequency ratio of any two contiguous notes in an equally tempered musical scale is Vi In general, the frequency numbers R for notes other than that of highest frequency f will be non-integers.

By way of example, the following Table II lists the frequency, frequency number R, and number of sample points per period for each note in octave six. The note C (the key of C in octave 7) is designated as the note of highest fundamental frequency produced by the computor organ 15, and hence is assigned the frequency number R of unity. In this example, N 2W 32 sample points are computed for the note c,, this valueof N being satisfactory for accurate synthesis for an organ pipe or most other musical sounds.

TABLE ll NOTE FRE- R Number of Sample QUENCY (Hz) Points per Period A No.8 1864.66 0.8913 35.92

.0 m. a l66l.22 0.7940 40.32

when utilized inconjunction with the glide circuitry 10 of FIG. 2, a glide effect will be achieved automatically each time one of the keyboard switches 12 is depressed to play a note.

Slalom Glide Slalom glide is produced using the circuitry 55 of FIG. 3.'ln the embodiment shown, the glide begins approximately a whole tone lower in frequency than the nominal pitch of the note selected by the keyboard switches 12. The tone glides upward in frequency through the true pitch to a frequency approximately a whole tone above the selected note. The tone then decreases in frequency until the true pitch again is reached. The glide ends, and tone production continues at the nominal fundamental frequency established by the frequency number R accessed from the memory 17 when the switch 12 is depressed.

To being the slalom glide, the start glide pulse on the line 21 causes the selected frequency number R to be loaded from the line 18 into a shift register 56 analogous to the register 23 of the FIG. 1 embodiment. The line 21 connected to the load control input of the shift register 56. As in that FIG. 1 embodiment, the value R is loaded into the register 56 at a position shifted to the right by m=4 positions. That is, the most significant bit of the frequency number R is entered into the fifth shift register position 56-5. Thus as before, the value is supplied via the lines 24' from the shift register 56 to the complement circuit 27'.

In FIG. 3, the complement circuit 27. comprises a set of exclusive-OR gates 27-1 through 27-j each receiving one input from the corresponding shift register-position 56-1 through 56-j. The valuej is equal to the number of bits in the frequency number R supplied from the memory 17.

Each gate 27-1 through 27-j is enabled by a complement signal obtained via a line 57 from the 1 output of a flip-flop 58. This flip-flop 58 is set (S) to the 1 state by the start glide signal on the line 21. Thus during the initial, increasing frequency portion of the glide, the signal on the line 57 is high. As a result, the gates 27-1 through 27-j supply at their outputs a signal which is the ones complement of the number contained in the positions 56-1 through 56-j of the register 56. These outputs are supplied to the adder 28'. The complement signal from the line 57 is supplied to the carry input of the adder 28'. Together the carry input and the outputs from the gates 27-1 through 27-] constitute the twos complement of the shift register 56 contents. This value is summed with the frequency number R supplied via the line 18 by the adder 28' to obtain the value R'=R-S. This value R is supplied from the adder 28' to the tone generator 15 via the line 14 as the current frequency number R During the initial, increasing frequency portion of the glide, the value R is shifted one position to the right in the register 56 each time the glide clock 13 provides a timing pulse 25 (FIG. 1) on the line 26' via an enabled AND gate 78. To this end, a shift control flip-flop 59 which is set to the state at the start of glide provides an enable signal from its 0 output via a line 60 to an AND-gate 61. Glide clock pulses are gated to the shift right control terminal of the register 56 via the line 62.

The shift register 56 has x=2j positions, so that as the R number is right shifted, bits of lesser significance are not lost, but are stored in the register positions 56-(j+l) through 56-x. Of course, each time the register 56 is right shifted, a smaller value is supplied to the lines 24 since each right shift corresponds to incrementing the value m by one. As a result, the value R'=R-S supplied from the adder 28 decreases, and the produced frequency increases closer to the nominal pitch of the selected note.

I The value in is maintained in a counter 63 that is loaded with the initial value m=4 (ie., binary 0100) upon occurrence of the start glide signal on the line 21. The contents m=4 in the counter 63 results in a signal on a line 64 to reset the shift control flip-flop 59 initially to the 0 state. This is accomplished by providing the contents of the counter stages 63-1, 63-2 and 63-4 via respective invertors 65-1, 65-2 and 64-4 to three of the four'inputs of a four terminal AND gate 66. The contents of the counter stage 63-3 is supplied directly to the remaining input of the AND gate 66.

When the shift control flip-flop 59 is in the 0 state, a low signal is supplied via a line 67 to the up/down control input of the counter 63. This places the counter 63 in the count up mode, so that each glide timing pulse from the clock 13 will increment the counter. Thus as the register 56 is right shifted, the contents of the counter 63 will contain the current value In.

The frequency of the produced tone first reaches the nominal pitch of the selected note, the glide does not terminate. Rather, the circuit 55 switches to a mode in which the rational fraction increases with time and is added to the selected frequency number R. This causes the generated tone to continue to increase in frequency above the nominal pitch.

The mode transition occurs when m=l6. This condition results in an output on a line 68 from a four terminal AND gate 69 that receives as inputs the contents of the counter stages 63-1 through63-4. The signal on the line 68 is supplied via an AND gate 70, enabled by the 1 output from the flip-flop 58, to the set input of the shift control flip-flop 59. As a result, this flip-flop 59 switches to the 1 state so as to enable glide timing pulses from the clock 13 to be supplied via an AND gate 71 and a line 72 to the shift left" control terminal of the register 56. The high signal from the 1 output of the flip-flop 59 also conditions the counter 63 to count down from its current value m =l6.

Each glide timing pulse 25 now causes the value R that effectively was stored in the shift register positions 56-(j+l) through 56-x to be left shifted in the register 56. Thus the value as m is decremented. These values of S now are added to the frequency number R. To this end, occurrence of the m=16 signal on the line 68 also resets the flip-flop 58 to the 0 state, so that the complement signal on the line 57 is terminated. As a result, the exclusive-OR gates 27' do not function as a complementer, but rather pass the output S from the shift register 56 directly to the adder 28'. The sum R'=R+S thereby is supplied via the line 14 from the adder 28' to the associated tone generator. The frequency of the produced tone contin-.

ues to increase.

the produced frequency will be approximately a full tone above the nominal pitch of the selected note. The circuit 55 then will cause the frequency to decrease until the nominal pitch again is reached. This is accomplished by right shifting the contents of the register 56 to obtain decreasing values of S, which are added to the frequency number R in the adder 28'. I

Such operation is conditioned when the contents of the counter 63 reaches m=4. The resultant signal on the line 64 sets the shift control flip-flop 59 to the state so as to enable right shifting of the register 56 and incrementing of the counter 63. The flip-flop 58 remains in the 0 state so that no complement signal occurs on the line 57 and hence the circuit 27 does not complement the value S, but provides it unchanged to the adder 28'. The signal on the line 64 also is supplied via an AND gate 73, enabled by the 1'? output of the r flip-flop 59, to set a flip-flop 74 to the 1 state in preparation for ending the slalom glide when the true pitch is reached.

The slalom glide terminates when the value m=l 6. At such time, the value S supplied via the lines 24 from the register 56 will approach zero, so that the output R'=R+S from the adder 28 will approach the frequency number R of the selected note. The value will be exactly R if the number of bits in each frequency number stored in the memory 17 is equal to or less than j, so that when m=l 6, the contents of the shift register positions 56-l-through 56-j will be all zeros.

When m=16, the signal on the line 68 will go high. Since the flip-flop 74 is in the 1 state, a high signal is provided on the 1 output line 75. Thus both inputs to a NAND gate 76 are high, causing the output thereof on a line 77 to go low. This disables the AND gate 78 so that no more glide timing pulses 25 can reach the counter 63 or the shift register 56. The glide ends and tone production continues at the nominal pitch of the selected note. At the beginning of the next glide, when a new note is played, the start glide signal on the line 21 resets the flip-flop 74 to the 0 state, so that the line 74 goes low, causing the line 77 to go high andenabling the AND gate 78 to provide glide timing pulses 25 to the register 56 and the counter 63.

PORTAMENTO The circuit 80 of FIG. 4 produces a portamento effect wherein the generated tone glides from the nominal frequency of the note previously played to that of a new note selected on the keyboard switches 12. The portamento takes place in steps that are proportional to a fixed percentage of the frequency of the tone currently being generated.

To this end, the circuit 80 provides the current frequency number R to the associated tone generator from an accumulator 81 via a line 14' and an enabled AND gate 90. When the musician releases a areadded (or subtracted) from the frequency number currently in the accumulator 81 until the frequency number R m, associated with the new note is reached. Thereafter tone production continues at the nominal pitch of the new note. The increments AR are added at timing intervals established by a portamento clock 82.

When a new keyboard switch 12 is selected, the corresponding frequency number R obtained from the memory 17, is compared with the value R presently in the accumulator 81. If R R a comparator 83 provides a signal on a line 84 that conditions the circuit 80 to subtract the increments AR from R Conversely, if the new note is higher in frequency than the previous note, no signal occurs on the line 84 and the increments AR are added to R To obtain the value AR, the current frequency number R from the accumulator 81 is divided by the constant k in a divider circuit 85. The quotient, corresponding to the value AR, is supplied via the lines 86 to a setof exclusive OR gates 87. Each of the gates 87 also receives as oneinput the signal on the line 84. Thus, when the new note is lower in frequency than the note last played, so that the signal on the line 84 is high, the gates 87 function as a complement circuit. When R- R the signal on the line 84 is low so that the gates 87 pass the increment AR unchanged.

Each timing pulse from the portamento clock 82 .enables a gate 88 that provides the output from the gates 87 to the accumulator 81. Thus when the signal portamento clock pulse plus an increment AR equal to that last value of R divided by k. During successive portamento clock intervals, additional increments AR are added to the accumulator 81 contents. Each such increment itself is of different value, since each is computed from a different value of R When the new note is of lower fundamental frequency than the previous note, the signal on the line 84 is high and the gates 87 function as a complementor. The signal on the line 84 also is supplied to the carry input of the accumulator 81. Thus each portamento clock pulse causes the twos complement of the value key, the frequency number'associated with that last AR'to be added to the contents of the accumulator 81. 'This is the equivalent of subtracting the value AR from the value Rm in the accumulator 81. The accumulator 81 thus provides to the tone generator 15 a new current frequency number that is lower in value than the previous one.

Subsequent to the playing of one note but prior to the selection of the next note, the previous frequency number remains in the accumulator 81. However, since no keyboard switch 12 is depressed, no input is provided to an OR gate 89. As a result, the output of the gate 89 is low, thereby disabling the AND gate 90. As a result, the frequency number R in the accumulator 81 is not supplied to the tone generator 15 and note produc tion is inhibited. As soon as the next keyboard switch is closed, a signal is supplied via the OR gate 89 to enable the AND gate 90, and thereby to initiate tone production. Portamento begins at the frequency established by the value R,,;,, previously obtained in the accumulator'81. i

In this manner, the circuit 80 of FlG.. 4 causes each note to slide from the pitch of .the note previously played to that of the newly selected note. The portamento does not take place in equal steps, but rather in increments AR (equation 7) that depend on the current frequency number. Thus the generated tone changes in frequency by a different incremental value at each step of the portamento. In the embodiment of FIG. 5, a portamento effect is produced in which at each step the frequency is incremented by an equal amount AR given by:

AR k (Eq. 8

where Rmew) and Rmmow respectively are the frequency numbers of the new and previously selected notes. p a

To obtain the portamento increment AR, the frequency number R associated with the note last played is stored in a register 96 (FIG. From this is subtracted the frequency number R supplied on a line 97 from the memory 17 when the new switch 12 is depressed. The subtraction is carried out in a subtract circuit 98 which provides the difference value andits associated sign via the lines 99 and 100 to a divide by k circuit 101. The quotient'provided by the divider 101 on a line 102 corresponds to the value AR (see. equation 8).

The portamento increments AR are added algebraically in an accumulator 103 that is cleared at the beginning of the portamento operation. When the new switch 12 is closed, a signal is supplied via an OR gate 104, a one-shot multivibrator 105 and a'line 106 tothe clear input of the accumulator 103. Then, each timing pulse from a portamento clock.l07 enables a gate 108 that provides the increment AR fromthe line 102 to the accumulator 103, where it is algebraically added to the previous contents thereof; Thus-at each step of the portamento, the contents EAR of the accumulator 103 represents the total change in frequency number value since the'beginning of 'thewportam en to.

This value EAR is suppl'iedviaa line 110 to an adder 111 where it is summedwith the previous frequency number R obtained via a line 112 from the storage register 96. The sum obtained-by the adder .111 corresponds to the current frequency number R During the portamento interval, the value R is supplied to the tone generatorlS via a line 113, and enabled gate 114, an OR gate ll 5'and an AND gate 116 that is enabled any time that a keyboard switch 12 is depressed. Thegate' 114is enabledduri'ng portamento production by the "1-'output of a flip-flop 117 portamento" signal on the line 106.

lected 'note. Resetting of the flip-flop 117 also triggers a one-shot 'multivibrator' 121 which causes the value R from the line 97 to be entered into the register 96, where it is sto red for use the next time that porta- I mento is produced.

A comparator 123 is used to ascertain when the current frequency number in the adder 111 has reached the new frequency number supplied on the line 97. If the pitch of the new note is higher than that of the previous note, the sign signal on the line 100 will be high, thereby enabling a NAND gate 124. During portamento production, the value Rmmm) will start at a value below that of R so that the output of the comparator 123 on'the line 125 will be low. However, as soon as R is incremented to a value that just exceeds R the comparator 123 provides a high signal on the line 125. Since both inputs to the NAND gate 124 are high, its output goes low, causing the output of another NAND gate 126 to go high. This signal, on the line 127, resets the flip-flop 117, thereby terminating the portamento interval.

Conversely, when the new pitch is lower in'frequency than that of the previous note, the" sign signal on the line 100 is low. The NAND gate 124 is disabled. However, the low signal on the line 100 is invertedby an inverter 128 and used to enable a NAND gate 129. During portamento production, the value Rmuwm is decreasing. As soon as this value becomes slightly less than R the comparator 123 provides a high output on a line l30 to-the NAND gate 129. As a result, the output of the gate 129 goes low, causing the NAND gate 126 to providea high output that resets the flipflop 1-17. In this manner, portamento production is terminated. a

Observe that in the embodiment of FIG. 4 the portamento terminates when the, current frequency number in the accumulator 81 is approximately equal to R .The last increment, added or subtracted into the accu- The portamento terminates when the current frequency number reaches the value of the new frequency number R At that time, the flip-flop 117 is reset to the 0" state. 'As a result, the 1 output goes low,

thereby disabling the gate 1 14. The v'alueR from r the adder 1 1] no longer is supplied to the tone generator 15. instead, the new frequency number R from.

the line 97 is'supplied to the tone generator 15 via a gate 119 that is enabled by the 0 output of the'flip-'- Component on..the line 84 to change state. Thereafter, the circuit will alternately{add and subtract increments each approximately equal to R /k to the current frequency number in the accumulator 81. Thus the value R suppliedto the tone generator 15 will not .exactly equal R but will be alternately very slightly higher and lower than this value. Such slight variation is not detectable by a person listening to the resultant generated tone, which is heard at the nominal pitch of the selected note. I A The various components of the musical instrument disclosed herein are conventional circuits well known in the digital computer art. As indicated by the following Table 111, many of these items are available commercially as integrated circuit components.

TABLE III Conventional lntegrated Circuit (or other reference) (a) SIG 8260 arithmetic logic element [p. 37]

Note interval adder 39 and harmonic interval adder 44 S16 8286 gated full adder v 1% SN5483, SN5483 4-bit binary full adders lp. 9-27l] (may be connected as shown in Flores Section 11.1 to

, accumulate sum) (a) Tl TMS4405 sinusoid table and addressing circuitry Sinusoid table 47 and memory address decoder 46 Tl TMS4400 ROM containing Conventional Integrated Component Circuit* (or other reference) 512 words of 8-bits [p. l4- 188] programmed to store sin values May be implemented as shown in application sheet SIG catalog, p. 28 using SlG 8202 buffer registers and 8260 arithmetic element Also can be implemented using SlG 8243 sealer [p. 65]

SIG 8268 gated full adder SlG 8223 read-only memory which includes address control circuitry Harmonic Amplitude Multiplier 51 Adder 28 and Ill Harmonic coefficient memory 49 and storage access control 50 1 claim:

1. Apparatus for producing glide or portamento in an electronic musical instrument of the type having a tone generator for generating a musical tone, and wherein the fundamental frequency of the generated tone is proportional to a number utilized by said tone generator, the value of said number that is presently utilized by said tone generator being the current frequency number", said instrument comprising;

increment means for establishing another number that increases or decreases'in value incrementally during the production of glide or portamento, said other number being a fractional frequency number," and means for modifying said current frequency number in increments corresponding to said fractional frequency numbers, said modifying terminating when the modified current, frequency number differs from the frequency number of the presently selected note by less than a certain amount.

2. Apparatus according to claim 1 for producing glide, wherein said instrument includes a set of note selection switches and means providing a frequency number R corresponding to the selected switch, and wherein said increment means comprises;

a divider for dividing said frequency number R by a value k(t) that increases or decreases with time, the dividend R/k(t) being the fractional frequency number, and wherein said means for modifying comprises,

means for adding the dividend R/k(t) from said frequency number R to obtain the current frequency number.

3. Apparatus according to claim 2 further comprising a glide clock operatively connected to said increment means, wherein said value k(t)=2"' and wherein-m is incremented by said increment means at successive time intervals established by said glide clock.

4. Apparatus according to claim 2 for producing slalom glide wherein said increment means further comprises circuitry for causing said value k(t) alternately to decrease and increase in value during success ive portions of the glide production interval, and wherein said value k(t) is programmatically added' to said frequency number R during different portions of the glide production to produce a tone that first glides past the nominal pitch of the selected note, then returns to said nominal pitch.

5. Apparatus according to claim 1 for producing portamento, said incrementing means comprising:

a divider for dividing the current frequent number by a constant k to obtain said fractional frequency number, and wherein said modifying means comprises, i

an accumulator for accumulating the sum of the fundamental frequency determining number associated with the previously selected note and the fractional frequency numbers produced during the portamento, the contents of said accumulator comprising the current frequency number.

6. Apparatus according to claim 5 further compriscomparator means for comparing the value of the current frequency number in said accumulator with the frequency number of the selected note, and for terminating portamento production when the difference detected by said comparator is less than said certain amount.

7. Apparatus accordiang to claim 6 wherein said accumulator continues alternately to add and subtract the fractional frequency number from the current frequency number after said termination of portamento, said selected note thereafter being produced at a frequency which alternates slightly above and below the nominal pitch of the selected note,

8. Apparatus according to claim 1 for production of portamento wherein said incrementing means comprises;

means for subtracting the previous frequency number of the previously selected note from the new frequency number of the presently selected note to obtain a difference value,

a divider for dividing said difference value by a constant,

-' accumulator means supplying the quotient obtained in said divider, to an accumulator at successive time intervals during protamento production, the accumulative sum in said accumulator comprising said time varying fractional frequency number, and wherein said modifying means comprises, means for adding said fractional frequency number from said accumulator to the previous frequency number to obtain the current frequency number. 9. Apparatus according to claim 1 for producing glide, said instrument including a set of note selection switches and means providing a frequency number R corresponding to the selected switch, wherein said increment means comprises;

a divider for dividing said frequency number R by a value k(t) that increases or decreases with time, the dividend R/k(t). being the fractional frequency number, and wherein said means for modifying comprises, means for subtracting the dividend R/k(t) from said frequency number R to obtain the current frequency number. 10. Apparatus according to claim 9 for producing slalom glide wherein said increment means further comprises circuitry for causing said value k(t) alternately to decrease and increase in value during successive portions of the glide production interval, and wherein said value k(t) is programmatically subtracted from said frequency number R during different portions of the glide production to produce a tone that first glides past the nominal pitch of the selected note, then returns to said nominal pitch. 

1. Apparatus for producing glide or portamento in an electronic musical instrument of the type having a tone generator for generating a musical tone, and wherein the fundamental frequency of the generated tone is proportional to a number utilized by said tone generator, the value of said number that is presently utilized by said tone generator being the ''''current frequency number'''', said instrument comprising; increment means for establishing another number that increases or decreases in value incrementally during the production of glide or portamento, said other number being a ''''fractional frequency number,'''' and means for modifying said current frequency number in increments corresponding to said fractional frequency numbers, said modifying terminating when the modified current frequency number differs from the frequency number of the presently selected note by less than a certain amount.
 2. Apparatus according to claim 1 for producing glide, wherein said instrument includes a set of note selection switches and means providing a frequency number R corresponding to the selected switch, and wherein said increment means comprises; a divider for dividing said frequency number R by a value k(t) that increases or decreases with time, the dividend R/k(t) being the fractional frequency number, and wherein said means for modifying comprises, means for adding the dividend R/k(t) from said frequency number R to obtain the current frequency number.
 3. Apparatus according to claim 2 further comprising a glide clock operatively connected to said increment means, wherein said value k(t) 2m and wherein m is incremented by said increment means at successive time intervals established by said glide clock.
 4. Apparatus according to claim 2 for producing slalom glide wherein said increment means further comprises circuitry for causing said value k(t) alternately to decrease and increase in value during successive portions of the glide production interval, and wherein said value k(t) is programmatically added to said frequency number R during different portions of the glide production to produce a tone that first glides past the nominal pitch of the selected note, then returns to said nominal pitch.
 5. Apparatus according to claim 1 for producing portamento, said incrementing means comprising: a divider for dividing the current frequent number by a constant k to obtain said fractional frequency number, and wherein said modifying means comprises, an accumulator for accumulating the sum of the fundamental frequency determining number associated with the previously selected note and the fractional frequency numbers produced during the portamento, the contents of said accumulator comprising the current frequency number.
 6. Apparatus according to claim 5 further comprising; comparator means for comparing the value of the current frequency number in said accumulator with the frequency number of the selected note, and for tErminating portamento production when the difference detected by said comparator is less than said certain amount.
 7. Apparatus accordiang to claim 6 wherein said accumulator continues alternately to add and subtract the fractional frequency number from the current frequency number after said termination of portamento, said selected note thereafter being produced at a frequency which alternates slightly above and below the nominal pitch of the selected note.
 8. Apparatus according to claim 1 for production of portamento wherein said incrementing means comprises; means for subtracting the previous frequency number of the previously selected note from the new frequency number of the presently selected note to obtain a difference value, a divider for dividing said difference value by a constant, accumulator means supplying the quotient obtained in said divider, to an accumulator at successive time intervals during protamento production, the accumulative sum in said accumulator comprising said time varying fractional frequency number, and wherein said modifying means comprises, means for adding said fractional frequency number from said accumulator to the previous frequency number to obtain the current frequency number.
 9. Apparatus according to claim 1 for producing glide, said instrument including a set of note selection switches and means providing a frequency number R corresponding to the selected switch, wherein said increment means comprises; a divider for dividing said frequency number R by a value k(t) that increases or decreases with time, the dividend R/k(t) being the fractional frequency number, and wherein said means for modifying comprises, means for subtracting the dividend R/k(t) from said frequency number R to obtain the current frequency number.
 10. Apparatus according to claim 9 for producing slalom glide wherein said increment means further comprises circuitry for causing said value k(t) alternately to decrease and increase in value during successive portions of the glide production interval, and wherein said value k(t) is programmatically subtracted from said frequency number R during different portions of the glide production to produce a tone that first glides past the nominal pitch of the selected note, then returns to said nominal pitch. 